Comment agrandir une partition via LVM (chiffrée ou non chiffrée) ?

LVM NON chiffrée

Voir l'espace disque restant :

df -h

Ici /usr est 100% utilisée.


LVM Non Chiffrée n°1

Voir les partitions mappées :

mount | grep ^/

LVM Non Chiffrée n°2

S'il y a un problème avec la partition (en lecture seulement), lors de l’exécution de la commande lvm, nous avons donc ce code d’erreur « Command failed with status code 5. ».

Cela est dû au fait que notre partition s’est écrite en mode ro (read only). Pour la passer en rw (lecteur écriture) il faut la remonter avec l’option :

mount -o remount,rw /

LVM Non Chiffrée n°3

Choisir la taille de redimensionnement de la partition :

lvresize -L 10G /dev/mapper/debian-usr

LVM Non Chiffrée n°4

Attention l'espace n'est toujours pas libérée.


Après nous pouvons agrandir la partition avec la commande LVM. Pour définir qu’elle prenne toute la place que l’on lui donne il faut exécuter les commandes suivantes (resize2fs ...) :

resize2fs /dev/mapper/debian-usr

S'il y a un problème de ce type :


LVM Non Chiffrée n°5

Il faut utiliser les 3 commandes suivantes pour bien comprendre le fonctionnement et le partitionnement d'LVM =>

Affiche le volume LVM :

vgdisplay

Affiche toutes les partitions d'LVM :

lvdisplay

Affiche les disques dur de disponible :

pvs



LVM chiffrée

Je me suis basé sur cet article.


Démarrer sur un live CD, comme par exemple Gparted.

Toutes les commandes doivent s'effectuer avec la commande "sudo" devant. Il est impossible de se connecter en root, de créer un mot de passe root ...


Pour passer le clavier en Français mettre :

setxkbmap fr

Afficher les partitions de disponible :

sudo fdisk -l

LVM Chiffrée n°1

Maintenant il faut déchiffrer la partition et lui donner un nom de conteneur (ici usr) :

sudo cryptsetup luksOpen /dev/mapper/debian-usr usr

LVM Chiffrée n°2

Puis entrer le mot de passe de la partition. Si vous avez perdu le mot de passe, je ne pense pas possible le fait de récupérer ses données. Sauf en exploitant une faille par la suite, mais cela peut-être long et fastidieux.


Ensuite vérifier où elle est montée virtuellement :

sudo ls -lisah /dev/mapper/usr

LVM Chiffrée n°3

Ici elle est montée via un lien symbolique dans /dev/dm-7.


Choisir la parition a aggrandir, ici nous voulons passer "debian-usr" de 4,7Gb à 20Gb :

sudo lvextend -L 20G /dev/mapper/debian-usr

LVM Chiffrée n°4

Tout c'est bien passé.


Nous rescannons les disques présent :

sudo fdisk -l

LVM Chiffrée n°5

Nous remarquons que "debian-usr" est passé de 4,7Gb à 20Gb. Ceci est le conteneur. Mais il reste la partition a agrandir également, qui est toujours à 4,7Gb (ici 10Gb à la suite d'une mauvaise manipulation, juste au-dessus avec la commande lvextend) :


LVM Chiffrée n°6

Maintenant nous appliquer les changements au conteneur chiffré (ici usr pour rappel) :

sudo cryptsetup resize usr

LVM Chiffrée n°7

Maintenant il faut quitter le live CD et rédemarrer mais avant il faut déconnecter la partition :

sudo cryptsetup close usr
sudo umount /dev/mapper/usr

Après rédémarrage sur le système la partition n'a toujours pas sa taille demandée (ici 9,8Gb au lieu de 20Gb) :

df -h

LVM Chiffrée n°8

Exécuter la commande qui va permettre de dire à la partition de prendre toute la place de son conteneur :

resize2fs /dev/mapper/debian-usr_crypt

LVM Chiffrée n°9

/!\ Questionnement : voir si la commande resize2fs peut être directement exécutée dans le live cd. /!\


Ensuite nous vérifions que ce dernier à pris la bonne taille et effectivement cela à fonctionné :

df -h

LVM Chiffrée n°10